/*
Axios 是基于 Promise 的网络请求库，他可以发送http请求并接受服务器返回的响应数据
Axios 返回的是一个 Promise 对象
Axios 不仅可以用于浏览器，也可以用于Node.js，而 Fetch 主要用于浏览器
*/

// CommonJS 方式引入 Axios
const axios = require('axios')
// get 请求
axios.get('https://api.52vmy.cn/api/wl/yan/yiyan')
    .then(response => console.log("response.data:", response.data))
    .catch(error => console.log("axios get error:", error))
    .finally(() => console.log("axios get finally"))

/*
response.data: {
  code: 200,
  msg: '成功',
  data: {
    hitokoto: '一万五千年前，一根愈合的人类股骨，标志着人类文明的诞生；一万五千年后，当太阳系将不复存在，人类的团结与勇气将延续文明的火种。',
    type: '影视',
    source: '流浪地球2',
    author: '佚名',
    length: 62
  }
}
axios get finally
*/

// post 请求 表单数据
let data = {
    custName: '李四'
}
axios.post('http://localhost:52010/customer', data, {
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
    }
})
    .then(response => console.log("axios post response:", response.data))
    .catch(error => console.log("axios post error.message:", error.message))
    .finally(() => console.log("axios post finally"))

// post 请求 JSON 数据 axios post请求默认就是json格式不用再额外指定请求头
axios.post('http://localhost:52010/customer', data)
    .then(response => console.log("axios post json response.data:", response.data))
    .catch(error => console.log("axios post json error.message:", error.message))
    .finally(() => console.log("axios post json finally"))